home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / cprog.EXE / C4.TXT < prev    next >
Text File  |  1996-07-05  |  18KB  |  450 lines

  1. C dili - 4. Konu
  2.  
  3. TAM SAYI ATAMA
  4.  
  5. TAMSAYI.C:
  6. ================================================================
  7. main()
  8. {
  9.     int a,b,c;
  10.     
  11.     a = 12;
  12.     b = 3;
  13.  
  14.     c = a+b;
  15.     c = a-b;
  16.     c = a*b;
  17.     c = a/b;
  18.     c = a%b;
  19.  
  20.     c = 12*a+b/2-a*b*2/(a*c+b*2);
  21.  
  22.     a = a + 1;    /* arttirma islemleri */
  23.     b = b * 5;
  24.     
  25.     a = b = c = 20;    /* Coklu atamalar */
  26.     a = b = c = 12*13/4;
  27. }
  28. ================================================================
  29.  
  30. Bu programda uc tam sayi degiskeni tanimliyoruz (a,b,c), ve bunlara
  31. degerler atiyoruz. Ilk iki satirda a ve b ye sayisal degerler veriyoruz.
  32. Daha sonraki dort satirda, basit islemler goruyorsunuz. 
  33.  
  34. Besinci satirda ise, modulo operatorunu goruyorsunuz. Modulo, iki degisken
  35. birbirine bolundugunde, kalan degeri verir. Modulo, sadece integer ve char
  36. degisken tipleri ile kullanilabilir. 
  37.  
  38. Daha sonra gelen iki arttirma islemleri ise, bu sekilde derleyici
  39. tarafindan kabul edilir, fakat bunlari yazmanin daha kestirme bir sekli
  40. vardir - bunu daha sonra gorecegiz. 
  41.  
  42. Son iki satira gelince, bunlar cok tuhaf gorunebilir goze. C derleyicisi,
  43. atama satirlarini, sagdan sola dogru okur. Bunun sayesinde, coklu atamalar
  44. gibi, cok faydali islemler yapilabilir. Bu ornekte, derleyici, yirmiyi
  45. alip, c ye atiyor. Sola dogru devam ederken, b yi gorup, en son elde
  46. edilen sonucu (20) b ye atiyor. Ayni sekilde a ya da, b nin degeri
  47. veriliyor. 
  48.  
  49. Bu programi derleyip, calistirmak son derece SIKICI olabilir. Bu programin
  50. hicbir ciktisi yoktur. Dilerseniz, ogrendiginiz printf fonksiyonu ile,
  51. programin yaptiklarini daha yakindan inceleyebilirsiniz.
  52.  
  53. C de veri tanimlari, program bloku icinde, islenecek komutlardan once
  54. gelir. Sayet tanimlari programin ortasina yerlestirmeye calisirsaniz,
  55. derleyici bir hata verecektir.
  56.  
  57. VERI TIPLERI
  58.  
  59. main()
  60. {
  61.     int a,b,c;        /* -32767 den 32767 ye - tamsayi olarak */
  62.     char x,y,z;        /* 0 dan 255 e - tamsayi olarak */
  63.     float num,toy,thing;    /* 10e-38 den 10e+38 e - ondalikli olarak */
  64.     
  65.     a = b = c = -27;
  66.     x = y = z = 'A';
  67.     num = toy = thing = 3.6792;
  68.     
  69.     a = y;        /* a nin degeri simdi 65 (karakter A) */
  70.     x = b;        /* x simdi tuhaf bir sayi olacak */
  71.     num = b;         /* num simdi -27.00 olacak */
  72.     a = toy        /* a simdi 3 olacak */
  73. }
  74.  
  75. Gordugunuz gibi, birkac integer daha tanimladik. Fakat, bundan baska, iki
  76. yeni tip daha kattik. "Char" ve "float". 
  77.  
  78. "Char" tipi, nerdeyse integer ile ayni manada. Fakat, sadece 0 ila 255
  79. arasindaki sayilari alabilir, ve genellikle hafizada bir bytelik bir yerde
  80. saklanir. Bu tip veri, genellikle kelime katarlari saklamak icin
  81. kullanilir. 
  82.  
  83. DATA TIPLERININ KARISTIRILMASI
  84.  
  85. Bu anda, C nin "int" ve "char" i nasil kullandigini gormenin tam zamani. C
  86. deki "int" tipi ile calisan cogu fonksiyonlar, karakter tip veri ile de
  87. ayni sekilde calisabilir, cunku karakter tipi, bir cins integer'dir.
  88. "char" ve "int" tiplerini neredeyse istediginiz gibi karistirmak
  89. mumkundur. Derleyicinin akli karismaz, ama sizin karisabilir. Bunun icin
  90. dogru tip veriyi kullanmakta fayda vardir.
  91.  
  92. FLOAT
  93.  
  94. Ikinci yeni tip veri, "float" tipidir. Kayar nokta da denilen bu tipin
  95. sinirlari cok genistir. Cogu bilgisayarlarda, float tipi 10e-38 den 10e+38
  96. e kadardir. 
  97.  
  98. YENI VERI TIPLERINI NASIL KULLANALIM
  99.  
  100. Bu programin ilk uc satirinda, dokuz tane degiskene deger ataniyor. 
  101.  
  102. * Daha once gordugumuz gibi, "char" tipi, aslinda bir "integer" tipi
  103. oldugundan, bir "char" in "int" e cevrilmesinde hicbir sorun yoktur.
  104. * Fakat, bir integer'i "char" a cevirmek icin, bir standart yoktur. Bu
  105. nedenle, sayet tamsayi degiskeninin degeri, "char" sahasindan buyukse,
  106. cikan sonuc cok sasirtici olabilir. 
  107. * Ucuncu satirda ise, bir tamsayiyi, "float" a atiyoruz. Bu durumda,
  108. derleyici, bu ceviriyi bizim icin yapar. 
  109. * Fakat tersini yapmak ise, biraz daha karisiktir. Derleyici sayet varsa,
  110. degiskenin ondalik degerini ne yapacagina karar vermek zorundadir.
  111. Genellikle de, ondalik kesimi gozardi eder.
  112.  
  113. Bu programin da hicbir ciktisi yok. Hem zaten karakter ve float tiplerinin
  114. nasil ekrana yazilabilecegini gormedik.. Bundan sonraki programa kadar
  115. sabir.. 
  116.  
  117. COKVERI.C:
  118. ================================================================
  119.  
  120. main()
  121. {
  122.     int a;              /* basit tamsayi tipi              */
  123.     long int b;         /* uzun tamsayi tipi               */
  124.     short int c;        /* kisa tamsayi tipi               */
  125.     unsigned int d;     /* isaretsiz (+ - siz) tamsayi     */
  126.     char e;             /* karakter tipi                   */
  127.     float f;            /* kayar nokta tipi                */
  128.     double g;           /* cift hassasiyet kayar nokta     */
  129.  
  130.     a = 1023;
  131.     b = 2222;
  132.     c = 123;
  133.     d = 1234;
  134.     e = 'X';
  135.     f = 3.14159;
  136.     g = 3.1415926535898;
  137.  
  138.     printf("a = %d\n",a);      /* desimal               */
  139.     printf("a = %o\n",a);      /* oktal                 */
  140.     printf("a = %x\n",a);      /* heksadesimal          */
  141.     printf("b = %ld\n",b);     /* uzun desimal          */
  142.     printf("c = %d\n",c);      /* kisa desimal          */
  143.     printf("d = %u\n",d);      /* isaretsiz             */
  144.     printf("e = %c\n",e);      /* karakter              */
  145.     printf("f = %f\n",f);      /* kayar nokta           */
  146.     printf("g = %f\n",g);      /* cift hassasiyet k.n   */
  147.     printf("\n");
  148.     printf("a = %d\n",a);      /* basit 'int' cikti          */
  149.     printf("a = %7d\n",a);     /* 7 uzunlukta bir saha kullan*/
  150.     printf("a = %-7d\n",a);    /* sola dayali 7 lik saha     */
  151.     printf("\n");
  152.     printf("f = %f\n",f);      /* basit kayan nokta     */
  153.     printf("f = %12f\n",f);    /* 12 lik bir saha kullan*/
  154.     printf("f = %12.3f\n",f);  /* noktadan sonra 3 hane */
  155.     printf("f = %12.5f\n",f);  /* noktadan sonra 5 hane */
  156.     printf("f = %-12.5f\n",f); /* sola yapisik 12 hane  */
  157. }
  158.  
  159. ================================================================
  160.  
  161. Bu program, C dilinde bulunan butun standart basit veri tiplerini
  162. kapsiyor. Baska tiplerde var, fakat bunlar basit tiplerin bir araya
  163. gelmesi ile olusurlar. Bunlardan daha sonra bahsedecegiz.
  164.  
  165. Programi inceleyin. Ilk once basit 'int', sonra 'long int' ve 'short int'
  166. gorunuyor. 'unsigned' tipi, yine integer kadar bir sahada saklanir, fakat
  167. arti yada eksi isareti tasimadigindan, genellikle siniri 0 - 65535 dir.
  168. (Sayet long, short, yada unsigned deyimi kullanilmissa, sonuna 'int'
  169. yazilmasi gereksizdir.) 
  170.  
  171. Daha once char ve float u gormustuk. Bunlar disinda kalan 'double' tipi,
  172. 'float' a nazaran daha buyuk bir sahada saklanir, ve daha hassas sonuclar
  173. verebilir. 
  174.  
  175. Cogu derleyicilerin matematik fonksiyonlari, float tipini kullanmaz,
  176. double tipini kullanir. Bu nedenle verdiginiz float degeri, size
  177. transparan olarak double'a cevirir. 
  178.  
  179. PRINTF'IN CEVIRIM KARAKTERLERI
  180.  
  181. Printf fonksiyonunda kullanilan karakterler sunlardir:
  182.  
  183.     d    desimal
  184.     o    oktal
  185.     x    heksadesimal
  186.     u    unsigned (isaretsiz)
  187.     c     karakter
  188.     s    string (karakter katari)
  189.     f    float (kayar nokta)
  190.     
  191. Bu harfler, bir yuzde isaretinden sonra kullanirlar. Bu iki harf arasina
  192. sunlar ilave edilebilir:
  193.  
  194.     -    sahasinin icinde sola dayanmis 
  195.     (n)    minimum saha uzunlugunu belirler
  196.     .    n ile m yi birbirinden ayirir
  197.     (m)    float tipi icin noktadan sonraki hane sayisi
  198.     l    'long' tipi oldugunu belirtmek icin
  199.     
  200. Bu programi derleyip sonuclarini inceleyin. Dilediginiz gibi degistirerek,
  201. sonuclari inceleyin.
  202.  
  203. MANTIKSAL KARSILASTIRMALAR
  204.  
  205. KARSILAS.C:
  206. ================================================================
  207.  
  208.  
  209. main()  /* Bir suru karsilastirma */
  210. {
  211. int x = 11,y = 11,z = 11;
  212. char a = 40,b = 40,c = 40;
  213. float r = 12.987,s = 12.987,t = 12.987;
  214.  
  215.                          /* Birinci grup */
  216.  
  217.    if (x == y) z = -13;   /* z = -13 olacak                */
  218.    if (x > z)  a = 'A';   /* a = 65  olacak                */
  219.    if (!(x > z)) a = 'B'; /* bu hicbir sey yapmayacak */
  220.    if (b <= c) r = 0.0;   /* r = 0.0 olacak                */
  221.    if (r != s) t = c/2;   /* t = 20  olacak                */
  222.  
  223.                     /* Ikinci grup   */
  224.  
  225.    if (x = (r != s)) z = 1000; /* x pozitif olacak, ve
  226.                              z = 1000 olacak       */
  227.    if (x = y) z = 222;   /* bu, x = y, and z = 222 yapar */
  228.    if (x != 0) z = 333;  /* z = 333 olacak   */
  229.    if (x) z = 444;       /* z = 444 olacak */
  230.  
  231.                     /* Ucuncu grup */
  232.  
  233.    x = y = z = 77;
  234.    if ((x == y) && (x == 77)) z = 33; /* z = 33 olur   */
  235.    if ((x > y) || (z > 12))   z = 22; /* z = 22 olacak */
  236.    if (x && y && z) z = 11;           /* z = 11 olur   */
  237.    if ((x = 1) && (y = 2) && (z = 3)) r = 12.00; /* Bu ise,
  238.                  x = 1, y = 2, z = 3, r = 12.00 yapar */
  239.    if ((x == 2) && (y = 3) && (z = 4)) r = 14.56; /* Birsey degistiremez */
  240.  
  241.  
  242.                     /* Dorducu grup */
  243.  
  244. if (x == x); z = 27.345;  /* z daima deger degistirir */
  245. if (x != x)  z = 27.345;  /* Hicbirsey degismez    */
  246. if (x = 0)   z = 27.345;  /* x = 0 olur, z degismez */
  247.  
  248. }
  249.  
  250. ================================================================
  251.  
  252.     Karsilas.C isimli programa lutfen bakin. Ilk basinda dokuz tane
  253. degisken hazirliyoruz. Daha once yapmadigimiz sekilde, bunlari hem
  254. tanimlayip, hem ilk degerlerini veriyoruz. 
  255.  
  256. Gordugunuz gibi if ile komutlar arasinda bir satir birakmamiz gerekmiyor.
  257. Programin daha okunabilir olmasi icin arada satir birakmak sart degildir.
  258.  
  259. Birinci gruptaki karsilastirmalar, iki degiskeni karsilastirdiklari icin,
  260. en basit olanlari. Ilk satirda, x in y ye esit olup olmadigina bakiyoruz.
  261. Burada iki esit isareti yerine (==) tek esit de kullanilabilirdi, fakat
  262. manasi degisirdi.  
  263.  
  264. Ucuncu satirda, NOT isaretini goruyorsunuz. Bu unlem isareti, herhangi bir
  265. karsilastirmanin sonucunu degistirmek icin kullanilabilir.
  266.  
  267. DAHA ZOR KARSILASTIRMALAR
  268.  
  269.  
  270. Ikinci grupta yer alan karsilastirmalar daha zor. Ilk once parantezler
  271. arasinda tuhaf bir ifade yer aliyor.. Bunu anlamak icin C dilindeki
  272. 'EVET' ve 'HAYIR' kavramlarini bilmemiz gerekiyor. C de 'HAYIR', 0
  273. degerindedir. 'EVET' ise, sifirdan degisik herhangi birseydir. Bir
  274. EVET/HAYIR testinin sonucu herhangi bir integer yada karakter
  275. degiskenine atanabilir.
  276.  
  277. Ilk ornege bakin: r!=s deyimi, r nin degeri 0.0 a atandigindan, 'EVET'
  278. bir sonuc verecektir. Bu sonuc, sifirdan degisik bir rakam, ve herhalde 1
  279. olacaktir. Olusan bu sonuc, x degiskenine atanir. Sayet x den sonra iki
  280. esit isareti olsa idi (x == (r!=s) gibi)  bu durumda bu 1 degeri, x ile
  281. karsilastirilirdi. Fakat tek bir isaret oldugundan, r ile s yi
  282. karsilastirmanin sonucu, x e atanir. Ayrica bu atama isleminin sonucu da
  283. sifirdan degisik oldugundan, z de 1000 e esitlenir.
  284.  
  285. Ikinci ornekte ise, x degiskeni, y nin degerini alir, cunku arada tek esit
  286. isareti vardir. Ayrica sonuc 11 oldugundan, z de 222 ye esitlenir.
  287.  
  288. Ikinci grubun ucuncusunde, x i sifira karsilastiriyoruz. Sayet sonuc
  289. 'EVET' ise, yani x sifir degilse, z ye 333 degerini atiyoruz. Bu grubun
  290. en son orneginde ise, sayet x in degeri sifir degil ise, z ye 444
  291. atiyoruz. Yani ucuncu ve dorduncu ornekler, birbirine esdirler. 
  292.  
  293. Ucuncu gruptaki karsilastirmalar, yeni deyimler sunuyor. Yani 'AND' ve
  294. 'OR' deyimleri. Ilk once 3 degiskene de 77 degerini atiyoruz ki, islemlere
  295. bilinen degerlerle basliyabilelim.  Buradaki ilk ornekte, yeni kontrol
  296. isaretimiz '&&' i goruyoruz. Bu satirin okunusu ise:
  297. 'Sayet x, y ye esit ise, vede x, 77 ye esit ise, z nin degerini 33 yap.'
  298. Yani, AND operandi icin, iki taraftaki islemlerin EVET (TRUE) sonuc
  299. vermesi gereklidir.
  300.  
  301. Bundan sonraki ornek ise, '||' (OR) isaretini gosteriyor. Bu satir ise, 
  302. 'Sayet x, y den buyuk ise, YADA z, 12 den buyuk ise, z nin degerini 22 yap.'
  303. z nin degeri 12 den buyuk oldugu icin, x in y den buyuk olup olmamasi
  304. onemli degildir. Cunku OR operandi icin ikisinden birinin EVET olmasi
  305. yeterlidir. 
  306.  
  307. Bircok kisimdan olusan bir mantiksal karsilastirma yaparken, karsilastirma
  308. soldan saga dogru yapilir, ve sonuc garantilendiginde, bu satirin
  309. islenmesi durur. Mesela, bir AND karsilastirmasinda, sayet AND in sol
  310. tarafindaki islem HAYIR (FALSE) sonuc verirse, sag tarafindaki islem
  311. yapilmaz. Yada, bir OR isleminde, sol tarafindaki islem EVET (TRUE) sonuc
  312. verirse, islemin OR dan sonrasina bakilmaz.
  313.  
  314. OPERANDLARIN ISLEM SIRASI
  315.  
  316. Hangi operand ilk once islenir? Bu konuda bircok kural vardir, ve
  317. derleyicinin kitabini bunlari uzun uzun anlatir. Fakat, benim tavsiyem,
  318. bunlarla ugrasmak yerine, once islenmesini istediginiz kisimin cevresine
  319. parantez koymanizdir. 
  320.  
  321. Ucuncu gruptaki orneklere devam ederek, dorduncu ornekte, uc tane basit
  322. degiskenin birbiri ile AND edildigini goruyoruz. Ucunun de degerleri
  323. sifirdan degisik oldugundan, sonuc EVET oluyor, ve z nin degeri 11 e
  324. esitlenir. 
  325.  
  326. Bundan sonraki ornekte ise, uc tane atama islemi gorunuyor. Sayet daha
  327. onceki ornekleri anladiysaniz, bu 'if' komutunun dort tane degeri
  328. degistirdigini gorebilirsiniz. 
  329.  
  330. BIR HILE 
  331.  
  332. Ucuncu grubun en son orneginde ise, bir hile var. Ilk once, (x==2) nin
  333. HAYIR la sonuc verdigini goruyoruz. Ve daha once gordugumuz gibi, C dili,
  334. sonuctan emin oluncaya kadar if komutunu isler. Yani, hepsi AND oldugu
  335. icin, vede ilk ifade HAYIR (FALSE) oldugu icin, islemi o noktada keser,
  336. ve y,z ve r nin degerleri degismez.
  337.  
  338. Dorduncu gruptaki orneklerin hicbiri calismaz. Bu grup, basinizi derde
  339. sokabilecek komutlardir. ilk ornekte, x == x komutu daima dogrudur, fakat
  340. hemen arkasindan gelen noktali virgul yuzunden, bundan sonra gelen
  341. z=27.345 komutu ayri bir komut olarak her zaman islenir. 
  342.  
  343. ikincisi daha kolay - x daima x e esit olacagindan, denklem daima yalnis
  344. olacaktir. Son olarak, x e sifir degeri atanir, ve parantezin sonucu sifir
  345. oldugundan, z ye atama yapilmaz.
  346.  
  347. C NIN CABUK TARAFLARI
  348.  
  349. C de 3 tane, bakinca hicbir seye benzemeyen, fakat programlarken hiz
  350. saglayan kestirme yol vardir. Bu metodlar iyi C programcilari tarafindan
  351. cok SIK kullanildigindan, ogrenmenizde fayda vardir. 
  352.  
  353. KESTIRME.C:
  354. ================================================================
  355.  
  356. main()
  357. {
  358. int x = 0,y = 2,z = 1025;
  359. float a = 0.0,b = 3.14159,c = -37.234;
  360.  
  361.                                               /* Arttirma     */
  362.    x = x + 1;       /* Bu x i bir arttirir */
  363.    x++;             /* Bu da..           */
  364.    ++x;             /*        Bu da..    */
  365.    z = y++;         /* z = 2, y = 3 */
  366.    z = ++y;         /* z = 4, y = 4 */
  367.  
  368.                                               /* Azaltma      */
  369.    y = y - 1;       /* Bu y nin degerini bir azaltir */
  370.    y--;             /* Bu da..           */
  371.    --y;             /*          Buddah.. */
  372.    y = 3;
  373.    z = y--;         /* z = 3, y = 2 */
  374.    z = --y;         /* z = 1, y = 1 */
  375.  
  376.                                        /* aritmetik islemler */
  377.    a = a + 12;      /* a ya 12 eklemek        */
  378.    a += 12;         /* 12 daha eklemek..      */
  379.    a *= 3.2;        /* a yi 3.2 ile carpmak     */
  380.    a -= b;          /* b yi a dan cikarmak     */
  381.    a /= 10.0;       /* a yi ona bolmek        */
  382.  
  383.                                    /* sartli islemler        */
  384.    a = (b >= 3.0 ? 2.0 : 10.5 );     /* Bu islem.......     */
  385.  
  386.    if (b >= 3.0)                     /* ve bu islemler..    */
  387.       a = 2.0;                       /* birbiri ile aynidir */
  388.    else                              /* ve ayni sonucu      */
  389.       a = 10.5;                      /* saglarlar.          */
  390.  
  391.    c = (a > b?a:b);        /* c, a yada b nin max ini alir  */
  392.    c = (a > b?b:a);        /* c, a yada b nin min ini alir. */
  393. }
  394. ================================================================
  395.  
  396. KESTIRME.C ye bakin. Bu programda, ilk komutta, x in degeri bir tane
  397. arttiriliyor. Ikinci ve ucuncu komutlar da ayni seyi yaparlar. Yani, iki
  398. tane arti isareti, degiskenin degerini bir arttirir. Ayrica, sayet ++
  399. isareti degiskenin onunde ise, degisken kullanilmadan once degeri
  400. arttirilir, sayet ++ isareti degiskenin arkasinda (saginda) ise,
  401. kullanildiktan sonra degeri arttirilir. 
  402.  
  403. Dorduncu komutta ise, y nin degeri, z ye atanir, ve daha sonra da y nin
  404. degeri bir arttirilir. Bundan sonraki komutta ise, y nin degeri ilk once
  405. arttirilir, daha sonra bu deger z ye verilir.
  406.  
  407. Ikinci grupta, azaltici operatorleri goruyoruz. Ayni arttirici operatorler
  408. gibi, bu gruptaki ornekler de bir oncekiler ile aynidir. 
  409.  
  410. Ucuncu grupta, aritmetik kestirme metodlari goruyoruz. ilk ornekte, a ya
  411. 12 eklenir. Bunun altindaki satirda ise, tekrar ayni sey yapilir. Yani, +=
  412. operatoru, soldaki degiskene, sag tarafin sonucunun eklenecegini belirtir.
  413. Yine ayni sekilde, bu is carpma, cikarma, ve bolme islemleri icin de
  414. yapilabilir. 
  415.  
  416. Dorduncu grupta ise, a ya, karmasik bir degerin atandigini goruyoruz.
  417. Bunun hemen altindaki if... satirlari ise, bu tek satir ile es anlamdadir.
  418. Bu karsilastirma operatoru, uc parcadan olusmustur. Bu parcalar
  419. birbirinden soru, ve iki nokta isaretleri ile ayrilirlar. Ilk once soru
  420. isaretinden onceki kisim degerlendirilir, sonuc EVET cikar ise, soru
  421. isaretinden hemen sonraki deger, dondurulur, sayet sonuc HAYIR cikar ise,
  422. iki nokta isaretinden sonraki deger dondurulur. 
  423.  
  424. Bundan sonra ise, bu karsilastirma operatorunun c ye atama yapmakta
  425. kullanildigini goruyoruz. Ilk once, a ile b nin hangisinin degeri buyukse,
  426. o degere c ye atanir, ve ikincide ise, hangisi daha kucuk ise, o c ye
  427. atanir. 
  428.  
  429. ODEV:
  430.  
  431. 1. Birden onikiye sayacak bir program yazin. Bu program, sayarken
  432. rakamlari ve bu rakamlarin karelerini ekrana yazsin.
  433.  
  434.     1    1
  435.     2    4
  436.     3    9   gibi..
  437.     
  438. 2. Birden onikiye sayan programi biraz degistirerek, sayimi yazan, ve 1 in
  439. inversini, bes haneli alan bir program yazin. Yani:
  440.  
  441.     1    1.00000
  442.     2     .50000
  443.     3     .33333
  444.     4     .25000 gibi..
  445.     
  446. 3. Birden yuze kadar sayan, fakat 32 ila 39 arasindaki degerleri yazan bir
  447. program yazin. Her satira bir rakam yazilsin..
  448.  
  449. <EOF>
  450.